package com.atguigu.lock;

import java.util.concurrent.TimeUnit;

public class EightSituationLock {
    public static void main(String[] args) {
        Phone phone1 = new Phone();
        Phone phone2 = new Phone();

        new Thread(()->{
            System.out.print(Thread.currentThread().getName());
            try { TimeUnit.SECONDS.sleep(3);} catch (InterruptedException e) { e.printStackTrace();}
            phone1.sendEmail();
        },"AA").start();

        new Thread(()->{
            System.out.print(Thread.currentThread().getName());
            phone2.sendSMS();
        },"BB").start();
    }
}

// * 1 标准访问
// * 2 email 暂停
// * 3 新增普通hello方法
// * 4 两部手机
// * 5 两个静态同步方法，同一Phone
// * 6 两个静态同步方法，两个Phone
// * 7 一个静态同步方法，一个普通同步方法，用1部手机
// * 8 一个静态同步方法，一个普通同步方法，用2部手机

class Phone{
    public static synchronized void sendEmail(){
        System.out.println("email");
    }
    public synchronized void sendSMS(){
        System.out.println("sms");
    }
    public void hello(){
        System.out.println("hello");
    }
}
